package com.ideaaedi.zoo.example.springboot.mybatisplus;

import cn.hutool.core.util.RandomUtil;
import com.ideaaedi.zoo.diy.artifact.mybatisplus.handler.MybatisPlusMetaObjectHandler;
import com.ideaaedi.zoo.diy.artifact.mybatisplus.provider.DefaultOperatorIdProvider;
import org.apache.ibatis.reflection.MetaObject;
import org.springframework.stereotype.Component;

import javax.annotation.Nullable;

/**
 * mock 提供当前操作人id
 * <pre>
 * 提示：内置有一个默认的当前用户获取器{@link DefaultOperatorIdProvider}，但是其依赖于 zoo-diy-artifact-auth-sa-token 组件。
 *       如果你没使用到zoo-diy-artifact-auth-sa-token组件的话，那么需要自定义实现OperatorIdProvider
 * </pre>
 */
@Component
public class TmpOperatorIdProvider implements MybatisPlusMetaObjectHandler.OperatorIdProvider {

    @Nullable
    @Override
    public Long operatorId(MetaObject metaObject) {
        return Long.parseLong(RandomUtil.randomNumbers(6));
    }
}
